using System;
using System.Collections.Generic;

namespace Viettel.VOFFICE.DAO.Models
{
    public class DocumentInbox
    {
        public DocumentInbox()
        {
            this.Attachments = new List<Attachment>();
            this.Comments = new List<Comment>();
            this.DocumentProgresses = new List<DocumentProgress>();
        }

        public int Id { get; set; }
        public string Code { get; set; }
        public string PaperCode { get; set; }
        public string Abstract { get; set; }
        public Nullable<bool> IsPackage { get; set; }
        public byte Status { get; set; }
        public Nullable<System.DateTime> SignDate { get; set; }
        public string SignName { get; set; }
        public System.DateTime DocDate { get; set; }
        public Nullable<int> DocTypeId { get; set; }
        public System.DateTime CreatedAt { get; set; }
        public System.DateTime UpdatedAt { get; set; }
        public Nullable<System.Guid> CreatorId { get; set; }
        public int DepartmentIdCreate { get; set; }
        public Nullable<int> Priority { get; set; }
        public Nullable<int> Security { get; set; }
        public Nullable<int> ReceivedType { get; set; }
        public Nullable<System.DateTime> DeadLine { get; set; }
        public string LeadMessage { get; set; }
        public Nullable<int> OuterOfficeIdSent { get; set; }
        public Nullable<short> NumberOfDoc { get; set; }
        public Nullable<short> PageOfDoc { get; set; }
        public Nullable<int> CopyFromId { get; set; }
        public Nullable<byte> Storage { get; set; }
        public Nullable<bool> IsReply { get; set; }
        public Nullable<int> ReplyDocId { get; set; }
        public Nullable<int> DocOutboxId { get; set; }
        public Nullable<bool> IsActive { get; set; }
        public Nullable<bool> IsFinished { get; set; }
        public virtual ICollection<Attachment> Attachments { get; set; }
        public virtual ICollection<Comment> Comments { get; set; }
        public virtual ICollection<DocumentProgress> DocumentProgresses { get; set; }
        public virtual DocumentProperty DocumentProperty { get; set; }
        public virtual DocumentProperty DocumentProperty1 { get; set; }
        public virtual DocumentProperty DocumentProperty2 { get; set; }
        public virtual OfficePartner OfficePartner { get; set; }
    }
}
